package com.stillalive.springioc.controller;

import com.stillalive.springioc.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

// 这里的参数将这个对象名改为hello，后续获取这个对象的时候可以直接使用hello（相当于起了一个昵称？）
@Controller("hello")
public class HelloController {

    // 1. 属性注入
    // @Autowired
    // private UserService userService;
    // 2. 构造方法注入
    // 这里如果有多个构造方法，可能会出现bean初始化失败异常，这时需要加上@Autowire注解，此时就会调用该方法初始化
    // private UserService userService;
    // public HelloController(UserService userService) {
    //    this.userService = userService;
    // }
    // 3. setting方法注入
    private UserService userService;
    @Autowired
    public void setUserService(UserService userService) {
        this.userService = userService;
    }

    public void sayHello(){
        System.out.println("hello controller");
        userService.doService();
    }
}
